home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / geos-archive / GEOS-D64 / GEOS Mega ASM (19xx)(-).d64 / list-b-4.24 < prev    next >
Text File  |  2019-04-13  |  2KB  |  100 lines

  1. ; Listing B.4.24 
  2. ; *******************************
  3. ; *                                   *
  4. ; * Demonstration der Routine           *
  5. ; *                                   *
  6. ; *        BitOtherClip             *
  7. ; *                                   *
  8. ; *                                   *
  9. ; *******************************
  10.  
  11. if     .p
  12.      t     "TopSym"
  13.      t     "TopMac"
  14. endif
  15.      n     "BitOtherClip"
  16.  
  17.      t     "TestMen}"
  18.  
  19. :DoShow
  20.  
  21.      LoadW     r6,Filename     ; Zeiger auf zu suchendes
  22.                ; File (Photo Scrap)
  23.  
  24.      jsr     FindFile
  25.  
  26.      txa          ; Fehler im x-Register
  27.      beq     Read3     ; wenn Fehler --> EndShow
  28.      rts
  29.  
  30. :Read3     LoadW     r4,diskBlkBuf
  31.      LoadW     r5,0
  32.      MoveW     dirEntryBuf+1,r1
  33.      jsr     ReadByte     
  34.      sta     CardWidth
  35.      jsr     ReadByte
  36.      sta     PixHLow
  37.      jsr     ReadByte
  38.      sta     PixHHigh
  39.  
  40.      MoveW     r4,memBuf
  41.      MoveW     r5,memNum
  42.      MoveW     r1,memTrSc
  43.  
  44.      LoadW     r0,Buf134
  45.       LoadB     r1L,1
  46.      LoadB     r1H,20
  47.      MoveB     CardWidth,r2L
  48.      MoveB     PixHLow,r2H
  49.      LoadW     r11,0
  50.      LoadW     r12,0
  51.      LoadW     r13,Input
  52.      LoadW     r14,Sync
  53.      jsr     BitOtherClip     ; Routine anspringen
  54.  
  55.      rts          ; Ende Unterprogramm
  56.  
  57. ; Inputroutine }ber ReadByte
  58. :Input     ldy     #29     ; r0-r13 = 28 Bytes retten
  59.      LoadW     a0,$02
  60. ::10     lda     (a0),y
  61.      sta     merken,y     ; nach merken retten
  62.      dey
  63.      bpl     :10
  64.  
  65.      MoveW     memTrSc,r1     ; r1,r4,r5 
  66.      MoveW     memBuf,r4     ; zur}ckschreiben
  67.      MoveW     memNum,r5     ; f}r ReadByte
  68.  
  69.      jsr     ReadByte
  70.      pha          ; gelesenes Byte im Akku
  71.                ; merken
  72.      MoveW     r1,memTrSc     ; r1,r4,r5 merken
  73.      MoveW     r4,memBuf     ; f}r die sp{tere
  74.      MoveW     r5,memNum     ; Bearbeitung
  75.  
  76.      ldy     #29     ; r0-r13 = 28 Bytes 
  77.      LoadW     a0,$02
  78. ::20     lda     merken,y
  79.      sta     (a0),y     ; zur}ckschreiben
  80.      dey
  81.      bpl     :20
  82.  
  83.      ldy     #$00
  84.      pla          ; Byte wieder zur}ck
  85.      sta     (r0),y     
  86.      rts          ; Ende Input
  87.  
  88. :Sync     LoadW     r0,Buf134
  89.      rts
  90. :Buffer     s     256
  91. :memTrSc     w     0
  92. :CardWidth     b     0
  93. :PixHLow     b     0
  94. :PixHHigh     b     0
  95. :memBuf     w     0
  96. :memNum     w     0
  97. :merken     s     40
  98. :Buf134     s     134
  99. :Filename     b     "Photo Scrap",0